Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bls operations rebased #64

Merged
merged 21 commits into from
Aug 9, 2021
Merged

Bls operations rebased #64

merged 21 commits into from
Aug 9, 2021

Conversation

nano-o
Copy link
Contributor

@nano-o nano-o commented Jul 30, 2021

No description provided.

msg)) }});
};

// TODO: Under what conditions is this true? Should probably be done over IETF
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think some version of this is proved using an assumption about the high-level spec in hash_to_g2.saw

hash_to_curve_E1_opt_impl_equiv_ov <- (prove_hash_to_curve_E1_opt_impl_equiv_thm 32 43);

// TODO: why is this needed here (see prove_hash_to_g1_ov in hash_to_g1.saw)?
hash_to_curve_e1_impl_thm <- custom_prove_cryptol
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we use blst_hash_to_g1_spec instead so that we get the high-level spec directly?

Copy link
Contributor

@bboston7 bboston7 Aug 2, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe? The reason I used blst_hash_to_g1_impl_spec is that its postcondition is written with llvm_points_to, while blst_hash_to_g1_spec is written with llvm_postcond. The llvm_postcond forms tend to be painful to work with.

@nano-o nano-o marked this pull request as ready for review August 6, 2021 21:52
@nano-o
Copy link
Contributor Author

nano-o commented Aug 6, 2021

@bboston7 can you have a look before we merge it into main?

Copy link
Contributor

@bboston7 bboston7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is OK to merge. I will clean up the BLS proof wrappers in a future PR.

}};

// case in which no argument is null and the error condition is false
let blst_core_verify_pk_in_g1_non_null_spec msg_len dst_len aug_len = do {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need a NULL aug version at some point.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okay, will do that in a later PR

proof/hash_to_g1.saw Outdated Show resolved Hide resolved
@nano-o nano-o merged commit c968da0 into main Aug 9, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants